#include "LoggerDialog.h"
#include "ui_LoggerDialog.h"

/**
* @brief  构造函数
* @param  parent 父窗口
*/
LoggerDialog::LoggerDialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::LoggerDialog)
{
    ui->setupUi(this);
    setWindowTitle("日志");
    connect(Logger::getInstance(), &Logger::logMessage, this, &LoggerDialog::showlogMessage);
}

/**
* @brief  析构函数
*/
LoggerDialog::~LoggerDialog()
{
    delete ui;
}

/**
 * @brief  显示日志信息
 * @param  formattedMessage 需要显示的信息
 */
void LoggerDialog::showlogMessage(const QString& formattedMessage, const LogLevel& level)
{
    QListWidgetItem *item = new QListWidgetItem(formattedMessage);
    QFont Font;
    Font.setBold(true);
    Font.setPointSize(11);    // 字号12
    item->setFont(Font);
    if(level == LogLevel::ERR)
    {
        item->setForeground(Qt::red);
    }
    ui->listWidget->addItem(item);
}
